#ifndef MAKE_UNIQUE_HPP
#define MAKE_UNIQUE_HPP

#include <memory>
#include <type_traits>
#include <utility>

#if __cplusplus < 201402L


namespace std {
template <typename T, typename... Args>
std::unique_ptr<T> make_unique(Args &&...args) {
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
}
} // namespace std

#endif

#endif // MAKE_UNIQUE_HPP